ПРИМЕР № 5

«Создание многооконной программы»

Исходный код примера:

package tsn.javase.demo05;
public class Form1 extends javax.swing.JFrame {
    public Form1() {
        initComponents();
    }
    @SuppressWarnings("unchecked")
    // //GEN-BEGIN:initComponents
    private void initComponents() {
        jFrame2 = new javax.swing.JFrame();
        panel2 = new java.awt.Panel();
        jLabel2 = new javax.swing.JLabel();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jComboBox1 = new javax.swing.JComboBox();
        jFrame3 = new javax.swing.JFrame();
        panel3 = new java.awt.Panel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        panel1 = new java.awt.Panel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jList1 = new javax.swing.JList();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jFrame2.setTitle("Form 2");
        jFrame2.setMinimumSize(new java.awt.Dimension(290, 160));
        jFrame2.setResizable(false);
        jFrame2.addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                jFrame2WindowClosing(evt);
            }
        });
        jFrame2.getContentPane().setLayout(null);
        jFrame2.setLocationRelativeTo(null);
        panel2.setBackground(new java.awt.Color(255, 255, 153));
        panel2.setLayout(null);
        jLabel2.setText("Выберите транспорт:");
        panel2.add(jLabel2);
        jLabel2.setBounds(80, 10, 170, 14);
        jButton2.setText("Назад");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        panel2.add(jButton2);
        jButton2.setBounds(20, 80, 120, 23);
        jButton3.setText("Вперед");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
        panel2.add(jButton3);
        jButton3.setBounds(160, 80, 110, 23);
        jComboBox1.setBackground(new java.awt.Color(204, 255, 153));
        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Автомобиль", "Поезд", "Самолет" }));
        jComboBox1.setBorder(new javax.swing.border.MatteBorder(null));
        panel2.add(jComboBox1);
        jComboBox1.setBounds(60, 40, 170, 20);
        jFrame2.getContentPane().add(panel2);
        panel2.setBounds(0, 0, 290, 160);
        jFrame3.setTitle("Form 3");
        jFrame3.setMinimumSize(new java.awt.Dimension(255, 210));
        jFrame3.setResizable(false);
        jFrame3.addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                jFrame3WindowActivated(evt);
            }
            public void windowClosing(java.awt.event.WindowEvent evt) {
                jFrame3WindowClosing(evt);
            }
        });
        jFrame3.getContentPane().setLayout(null);
        jFrame3.setLocationRelativeTo(null);
        panel3.setBackground(new java.awt.Color(255, 255, 153));
        panel3.setLayout(null);
        jScrollPane2.setForeground(new java.awt.Color(204, 255, 204));
        jTextArea1.setEditable(false);
        jTextArea1.setBackground(new java.awt.Color(153, 255, 153));
        jTextArea1.setColumns(20);
        jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        jTextArea1.setRows(5);
        jTextArea1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jScrollPane2.setViewportView(jTextArea1);
        panel3.add(jScrollPane2);
        jScrollPane2.setBounds(20, 10, 206, 120);
        jButton4.setText("Назад");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });
        panel3.add(jButton4);
        jButton4.setBounds(20, 140, 110, 23);
        jButton5.setText("Выход");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });
        panel3.add(jButton5);
        jButton5.setBounds(140, 140, 90, 23);
        jFrame3.getContentPane().add(panel3);
        panel3.setBounds(0, 0, 260, 210);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Form 1");
        setResizable(false);
        getContentPane().setLayout(null);
        panel1.setBackground(new java.awt.Color(255, 255, 153));
        panel1.setLayout(null);
        jList1.setBackground(new java.awt.Color(153, 255, 153));
jList1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jList1.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Павлодар", "Астана", "Москва", "Нью-Йорк", "Токио", "Пекин" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jList1.setSelectedIndex(0);
        jScrollPane1.setViewportView(jList1);
        panel1.add(jScrollPane1);
        jScrollPane1.setBounds(20, 30, 170, 120);
        jButton1.setText("Вперед");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        panel1.add(jButton1);
        jButton1.setBounds(20, 160, 170, 23);
        jLabel1.setText("Выберите город:");
        panel1.add(jLabel1);
        jLabel1.setBounds(40, 10, 120, 14);
        getContentPane().add(panel1);
        panel1.setBounds(0, 0, 210, 200);
        setSize(new java.awt.Dimension(222, 234));
        setLocationRelativeTo(null);
    }// //GEN-END:initComponents
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
	//GEN-FIRST:event_jButton1ActionPerformed
        // Переход на 2 окно
        this.setVisible(false); // Спрятать главное окно 1
        jFrame2.setVisible(true); // Показать окно 2
    }//GEN-LAST:event_jButton1ActionPerformed
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
	//GEN-FIRST:event_jButton2ActionPerformed
        // Переход на главное окно 1
        jFrame2.setVisible(false); // Спрятать окно 2
        this.setVisible(true); // Показать главное окно 1
    }//GEN-LAST:event_jButton2ActionPerformed
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
	//GEN-FIRST:event_jButton3ActionPerformed
        // Переход на 3 окно
        jFrame2.setVisible(false); // Спрятать окно 2
        jFrame3.setVisible(true); // Показать окно 3
    }//GEN-LAST:event_jButton3ActionPerformed
    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
	//GEN-FIRST:event_jButton4ActionPerformed
        // Переход на 2 окно
        jFrame3.setVisible(false); // Спрятать окно 3
        jFrame2.setVisible(true); // Показать окно 2
    }//GEN-LAST:event_jButton4ActionPerformed
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
	//GEN-FIRST:event_jButton5ActionPerformed
        // Кнопка выхода
        System.exit(0); // Выход из программы
    }//GEN-LAST:event_jButton5ActionPerformed
    private void jFrame2WindowClosing(java.awt.event.WindowEvent evt) {
	//GEN-FIRST:event_jFrame2WindowClosing
        // Выход из программы
        System.exit(0); // Выход из программы
    }//GEN-LAST:event_jFrame2WindowClosing
    private void jFrame3WindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_jFrame3WindowClosing
        // Выход из программы
        System.exit(0); // Выход из программы
    }//GEN-LAST:event_jFrame3WindowClosing
    private void jFrame3WindowActivated(java.awt.event.WindowEvent evt) {
	//GEN-FIRST:event_jFrame3WindowActivated
        // Выдача результатов при открытии окна 3
        jTextArea1.setText(""); // Очистка компонента
        jTextArea1.append("Ваш выбор:" + "\n");
        jTextArea1.append("___________________" + "\n");
        jTextArea1.append("Город: " + jList1.getSelectedValue().toString() + "\n");
        jTextArea1.append("Транспорт: " + jComboBox1.getSelectedItem().toString() + "\n");
    }//GEN-LAST:event_jFrame3WindowActivated
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Windows".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Form1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Form1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Form1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Form1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Form1().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JFrame jFrame2;
    private javax.swing.JFrame jFrame3;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JList jList1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTextArea jTextArea1;
    private java.awt.Panel panel1;
    private java.awt.Panel panel2;
    private java.awt.Panel panel3;
    // End of variables declaration//GEN-END:variables
}